package com.dg.dto;

import com.dg.pojo.AclModule;
import com.google.common.collect.Lists;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.BeanUtils;

import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class AclModuleDto extends AclModule{

    private String parentName;

    private String title;

    List<AclModuleDto> children = Lists.newArrayList();

    public static AclModuleDto adapter(AclModule aclModule){
        AclModuleDto aclModuleDto= new AclModuleDto();
        BeanUtils.copyProperties(aclModule,aclModuleDto);
        aclModuleDto.setTitle(aclModule.getName());
        return aclModuleDto;
    }

    public static AclModuleDto adapter(AclModule aclModule, AclModule parent){
        AclModuleDto aclModuleDto= new AclModuleDto();
        BeanUtils.copyProperties(aclModule,aclModuleDto);
        aclModuleDto.setTitle(aclModule.getName());
        aclModuleDto.setParentName(parent != null ? parent.getName() : "");
        return aclModuleDto;
    }

}
